-- @Author: 作者QQ381990860
-- @Date:   2021-11-05 10:34:34
-- @Last Modified by:   作者QQ381990860
-- @Last Modified time: 2022-08-25 06:13:22

local 场景类_召唤兽属性栏 = class()
local bw = require("gge包围盒")(0,0,140,34)
local box = 引擎.画矩形
local format = string.format
local floor = math.floor
local min = math.min
local max = math.max
local tp,zts,zts1
local ceil = math.ceil
local tostring = tostring
local bd0 = {"气血","魔法","攻击","防御","速度","灵力"}
local bd = {"体质","魔力","力量","耐力","敏捷"}
local mousea = 引擎.鼠标按住
local mouseb = 引擎.鼠标弹起
local insert = table.insert

function 场景类_召唤兽属性栏:初始化(根)
	self.ID = 7
	self.x = 0
	self.y = 35
	self.xx = 0
	self.yy = 0
	self.注释 = "召唤兽属性栏"
	self.可视 = false
	self.鼠标 = false
	self.焦点 = false
	self.可移动 = true
	local 资源 = 根.资源
	local 按钮 = 根._按钮
	local 自适应 = 根._自适应
	tp = 根
	self.资源组 = {
		[1] = 自适应.创建(0,1,370,453,3,9),
		[2] = 按钮.创建(自适应.创建(18,4,16,16,4,3),0,0,4,true,true),
		[3] = 按钮.创建(自适应.创建(11,4,43,20,1,3),0,0,4,true,true,"参战"),
		[4] = 按钮.创建(自适应.创建(11,4,43,20,1,3),0,0,4,true,true,"改名"),
		[5] = 按钮.创建(自适应.创建(25,4,19,19,4,3),0,0,4,true,true),
		[6] = 按钮.创建(自适应.创建(25,4,19,19,4,3),0,0,4,true,true),
		[7] = 按钮.创建(自适应.创建(25,4,19,19,4,3),0,0,4,true,true),
		[8] = 按钮.创建(自适应.创建(25,4,19,19,4,3),0,0,4,true,true),
		[9] = 按钮.创建(自适应.创建(25,4,19,19,4,3),0,0,4,true,true),
		[10] = 按钮.创建(自适应.创建(26,4,19,19,4,3),0,0,4,true,true),
		[11] = 按钮.创建(自适应.创建(26,4,19,19,4,3),0,0,4,true,true),
		[12] = 按钮.创建(自适应.创建(26,4,19,19,4,3),0,0,4,true,true),
		[13] = 按钮.创建(自适应.创建(26,4,19,19,4,3),0,0,4,true,true),
		[14] = 按钮.创建(自适应.创建(26,4,19,19,4,3),0,0,4,true,true),
		[15] = 按钮.创建(自适应.创建(11,4,72,20,1,3),0,0,4,true,true,"推荐加点"),
		[16] = 按钮.创建(自适应.创建(11,4,43,20,1,3),0,0,4,true,true,"预览"),
		[17] = 按钮.创建(自适应.创建(11,4,43,20,1,3),0,0,4,true,true,"驯养"),
		[18] = 按钮.创建(自适应.创建(11,4,43,20,1,3),0,0,4,true,true,"放生"),
		[19] = 按钮.创建(自适应.创建(11,4,43,20,1,3),0,0,4,true,true,"观看"),
		[20] = 按钮.创建(自适应.创建(11,4,43,20,1,3),0,0,4,true,true,"鉴定"),
		[21] = 按钮.创建(自适应.创建(11,4,72,20,1,3),0,0,4,true,true,"确认加点"),
		[22] = 按钮.创建(资源:载入('llm.dll',"网易WDF动画",0xB15C5678),0,0,4,true,true,"查看资质"),
		[23] = 资源:载入('JM.dll',"网易WDF动画",0x363AAF1B),--宠物头像背景
		[26] = 资源:载入('JM.dll',"网易WDF动画",0x3906F9F1),--经验条

		[27] = 按钮.创建(自适应.创建(31,4,10,13,4,3),0,0,4,true,true), --上
		[28] = 按钮.创建(自适应.创建(32,4,10,13,4,3),0,0,4,true,true),--下
		[35] =  根._滑块.创建(自适应.创建(33,4,10,32,4,3,nil),4,10,154,2),

		[29] = 自适应.创建(7,1,171,182,3,9),
		[30] = 自适应.创建(2,1,158,153,3,9),
		[31] = 自适应.创建(3,1,109,18,1,3),
		[32] = 自适应.创建(3,1,97,18,1,3),
		[33] = 自适应.创建(3,1,40,18,1,3),
		[34] = 按钮.创建(资源:载入('JM.dll',"网易WDF动画",0x288FC5D3),0,0,1), --染色圆按钮
		[36] = 按钮.创建(自适应.创建(25,4,19,19,4,3),0,0,4,true,true),
		[37] = 按钮.创建(资源:载入('JM.dll',"网易WDF动画",0x289B7143),0,0,4),--换造型圆按钮
		[39] = 自适应.创建(36,1,186,22,1,3),--经验背景
		[40] = 资源:载入('llm.dll',"网易WDF动画",0xEE0D8CFA),
		[41] = 资源:载入('MAX.7z',"网易WDF动画","万年图标"),

	}
	self.圣兽丹动画 =根.资源:载入('JM.dll',"网易WDF动画",0xA4F1E391)
	self.资源组[22]:置偏移(0,2)
	self.资源组[3]:置偏移(0,-1)
	self.资源组[4]:置偏移(0,-1)

	for i=16,20 do
	self.资源组[i]:置偏移(0,-1)
	end

	for i=2,28 do
		if i ~= 23 and i ~= 24 and i ~= 25 and i ~= 26 then
			self.资源组[i]:绑定窗口_(7)
		end
	end
	for i=34,37 do
		if i ~= 35 then
			self.资源组[i]:绑定窗口_(7)
		end
	end

	self.控件类 = require("ggeui/加载类")()
	local 总控件 = self.控件类:创建控件('召唤兽总控件')
	总控件:置可视(true,true)
	self.名称输入框 = 总控件:创建输入("名称输入",0,0,100,14)
	self.名称输入框:置可视(false,false)

	self.名称输入框:置限制字数(12)
	self.名称输入框:置光标颜色(-16777216)
	self.名称输入框:置文字颜色(-16777216)
	self.临时潜能 = {}
	self.预览属性 = {}
	for i=0,12 do
		self.临时潜能[i] = {体质=0,魔力=0,力量=0,耐力=0,敏捷=0}
	end
	for i=0,12 do
		self.预览属性[i] = {气血=0,魔法=0,伤害=0,速度=0,灵力=0,防御=0}
	end
	self.加入 = 0
	self.选中 = 0
	self.拽拖计次 = 0
	self.拽拖对象 = 0
	self.拽拖事件 = 0
	self.插入选区 = 0
	self.操作 = nil
	self.头像组 = {}
	self.窗口时间 = 0
	self.鉴定 = false

  zts = tp.字体表.普通字体
  zts1 = tp.字体表.描边字体
  local wz = require("gge文字类")
	self.方正字体 = wz.创建(程序目录.."Data/pic/qingyi.ttf",14,false,true,true)
	self.方正字体:置颜色(0xffffffff)
	self.方正字体:置描边颜色(0xff000000)
end


function 场景类_召唤兽属性栏:打开(数据)
	if self.可视 then
		for i=0,8 do
			if self.数据[i] ~= nil then
				self.数据[i].潜能 = self.数据[i].潜能 + (self.临时潜能[i].体质+self.临时潜能[i].魔力+self.临时潜能[i].力量+self.临时潜能[i].耐力+self.临时潜能[i].敏捷)
			end
			self.临时潜能[i] = {体质=0,魔力=0,力量=0,耐力=0,敏捷=0}
		end
		for i=0,8 do
			self.预览属性[i] = {气血=0,魔法=0,伤害=0,速度=0,灵力=0,防御=0}
		end
		self.加入 = 0
		self.选中 = 0
		self.鉴定 = false
		self.拽拖计次 = 0
		self.拽拖对象 = 0
		self.拽拖事件 = 0
		self.插入选区 = 0
		self.头像组 = {}
		self.窗口时间 = 0
		self.名称输入框:置可视(false,false)
		self.可视 = false
		self.资源组[35]:置起始点(0)
		if tp.窗口.召唤兽资质栏.可视 then
			tp.窗口.召唤兽资质栏:打开()
		end
	else
		self.数据 = 数据

		insert(tp.窗口_,self)
		for i=1,#self.数据 do
			if self.数据[i].参战 ~= 0 then
				if i > 4 then
					self.加入 = i-4
					self.资源组[35]:置起始点(self.资源组[35]:取百分比转换(self.加入,4,#self.数据))
				end
				self.选中 = i
				self.名称输入框:置文本(self.数据[self.选中].名称)
				self.名称输入框:置可视(true,true)
				if tp.窗口.召唤兽资质栏.可视 then
					tp.窗口.召唤兽资质栏:打开(self.数据[self.选中])
				end
				self:置形象()
				self.拽拖计次 = 0
				break
			end
		end
		tp.运行时间 = tp.运行时间 + 1
	    self.窗口时间 = tp.运行时间
	    self.可视 = true
	end
end
function 场景类_召唤兽属性栏:刷新(数据)
	self.鉴定 = false
	self.头像组={}
	if 数据 ~= nil then
   self.数据 = 数据
   end
   	if tp.窗口.召唤兽资质栏.可视 then
	tp.窗口.召唤兽资质栏:打开(self.数据[self.选中],self.选中)
	end
  self:置形象()

end
function 场景类_召唤兽属性栏:置形象()
	self.资源组[24] = nil
	self.资源组[25] = nil
	self.重生光环=nil
	if self.数据[self.选中]  ~= nil then
		local n = 取模型(self.数据[self.选中].造型)
		self.资源组[24] = tp.资源:载入(n.战斗资源,"网易WDF动画",n.施法)
		if self.数据[self.选中].饰品  then
			if 取召唤兽饰品(self.数据[self.选中].造型) then
			n = 取模型("饰品_"..self.数据[self.选中].造型)
			self.资源组[25] = tp.资源:载入(n.战斗资源,"网易WDF动画",n.施法)
			end
		elseif 取召唤兽武器(self.数据[self.选中].造型) then
			n = 取模型("武器_"..self.数据[self.选中].造型)
			self.资源组[25] = tp.资源:载入(n.战斗资源,"网易WDF动画",n.施法)
		end
		if 低配模式 ==false  then
		if self.数据[self.选中].重生~=nil and  self.数据[self.选中].重生~=0  then
			local mdd=引擎.取重生特效(self.数据[self.选中].重生)
			self.重生光环=tp.资源:载入(mdd[2],"网易WDF动画",mdd[1])
		end
end
		if self.数据[self.选中].染色方案 ~= nil then
			self.资源组[24]:置染色(self.数据[self.选中].染色方案,self.数据[self.选中].染色组[1],self.数据[self.选中].染色组[2],self.数据[self.选中].染色组[3])
			if self.资源组[25] then
			   self.资源组[25]:置染色(self.数据[self.选中].染色方案,self.数据[self.选中].染色组[1],self.数据[self.选中].染色组[2],self.数据[self.选中].染色组[3])
			end
			self.资源组[24]:置方向(0)
		end
	end
end
function 场景类_召唤兽属性栏:更改副宠(数据,状态)--多宠物
	local 副宠=数据.副宠
	local 编号=数据.编号
  if self.可视==false then return 0 end
 if 状态 then
   self.数据.副宠参战[副宠]=编号
  -- tp.提示:写入("#Y/你的副宠"..副宠.."已经设置为出战状态")
  else
   self.数据.副宠参战[副宠]=0
  -- tp.提示:写入("#Y/你的副宠"..副宠.."已经设置为休息状态")
   end
end

function 场景类_召唤兽属性栏:更改参战(编号,状态)
  if self.可视==false then return 0 end
 if 状态 then
   self.数据.参战=编号
   tp.提示:写入("#Y/你的这只召唤兽已经设置为出战状态")
  else
   self.数据.参战=0
   tp.提示:写入("#Y/你的这只召唤兽已经设置为休息状态")
   end
 end

function 场景类_召唤兽属性栏:显示(dt,x,y)
	-- 变量

	local bbs = self.数据
	local bbsa = #bbs
	local bb,ls,yl
	local 参,一,二,三,四,五,六,七,八,九 --多宠物
	if self.选中 ~= 0 then
		bb = bbs[self.选中]
		ls = self.临时潜能[self.选中]
		yl = self.预览属性[self.选中]
		if self.数据[self.选中] ~= nil and self.数据.参战 ==self.选中 then --多宠物
			self.资源组[3]:置文字("休息")
		elseif self.数据[self.选中] ~= nil and self.数据.副宠参战[1] ==self.选中 then
			self.资源组[3]:置文字("副一")
		elseif self.数据[self.选中] ~= nil and self.数据.副宠参战[2] ==self.选中 then
			self.资源组[3]:置文字("副二")
		elseif self.数据[self.选中] ~= nil and self.数据.副宠参战[3] ==self.选中 then
			self.资源组[3]:置文字("副三")
		elseif self.数据[self.选中] ~= nil and self.数据.副宠参战[4] ==self.选中 then
			self.资源组[3]:置文字("副四")
		elseif self.数据[self.选中] ~= nil and self.数据.副宠参战[5] ==self.选中 then
			self.资源组[3]:置文字("副五")
					elseif self.数据[self.选中] ~= nil and self.数据.副宠参战[6] ==self.选中 then
			self.资源组[3]:置文字("副六")
					elseif self.数据[self.选中] ~= nil and self.数据.副宠参战[7] ==self.选中 then
			self.资源组[3]:置文字("副七")
					elseif self.数据[self.选中] ~= nil and self.数据.副宠参战[8] ==self.选中 then
			self.资源组[3]:置文字("副八")
			    elseif self.数据[self.选中] ~= nil and self.数据.副宠参战[9] ==self.选中 then
			self.资源组[3]:置文字("副九")
		else
			self.资源组[3]:置文字("参战")
		end
		if self.数据[self.选中] ~= nil and self.数据.观看 ==self.选中 then
			self.资源组[19]:置文字("取消")
		else
			self.资源组[19]:置文字("观看")
		end
	end
	-- 更新
	self.焦点 = false
	self.资源组[2]:更新(x,y)
	self.资源组[3]:更新(x,y,bb ~= nil)
	self.资源组[4]:更新(x,y,bb ~= nil)
	for i=5,9 do
	   self.资源组[i]:更新(x,y,bb ~= nil and bb.潜能 > 0,1)
	   if self.资源组[i]:事件判断() then
	   		bb.潜能 = bb.潜能 - 1
	   		ls[bd[i-4]] = ls[bd[i-4]] + 1
	   end
	end
	for i=10,14 do
	   self.资源组[i]:更新(x,y,bb ~= nil and ls[bd[i-9]] > 0,1)
	   if self.资源组[i]:事件判断() then
	   		bb.潜能 = bb.潜能 + 1
	   		ls[bd[i-9]] = ls[bd[i-9]] - 1
	   end
	end
	self.资源组[15]:更新(x,y,bb ~= nil and bb.潜能 > 0)
	self.资源组[16]:更新(x,y,bb ~= nil)
	self.资源组[17]:更新(x,y,bb ~= nil)
	self.资源组[18]:更新(x,y,bb ~= nil)
	self.资源组[19]:更新(x,y,bb ~= nil)
	self.资源组[20]:更新(x,y,bb ~= nil)
	self.资源组[21]:更新(x,y,bb ~= nil)
	self.资源组[22]:更新(x,y,bb ~= nil)
	self.资源组[34]:更新(x,y,bb ~= nil)
	self.资源组[37]:更新(x,y,bb ~= nil)
	self.资源组[36]:更新(x,y)
	-- 显示
	self.资源组[1]:显示(self.x,self.y)
  self.资源组[2]:显示(self.x+self.资源组[1].宽度-20,self.y+3)
  tp.窗口标题背景_:显示(self.x+self.资源组[1].宽度/2-73,self.y)
  zts1:显示(self.x+self.资源组[1].宽度/2-36,self.y+1,"召唤兽属性")

	self.资源组[29]:显示(self.x+12,self.y+29)
	self.资源组[30]:显示(self.x+197,self.y+28)
	self.资源组[31]:显示(self.x+197,self.y+217)
	self.资源组[36]:显示(self.x+168,self.y+218)

	self.资源组[39]:置宽高(186,22)
	self.资源组[39]:显示(self.x+55,self.y+423,true)

	zts:置颜色(0xFFFFFFFF)
	zts:显示(self.x+21,self.y+427,"经验")
	zts:显示(self.x+19,self.y+222,"召唤兽携带数量："..bbsa.."/"..bbs.召唤兽上限)
	if bb == nil then
		zts:显示(self.x+200,self.y+194,"参战等级：--")
	else
		zts:显示(self.x+200,self.y+194,"参战等级："..bb.参战等级)
	end
   if bb ~= nil and self.鉴定 == true then
   	  zts:显示(self.x+255,self.y+30,"类型："..bb.类型)
   end

	for i=0,5 do --气血 到 灵力
		self.资源组[32]:显示(self.x+54,self.y+244+i*24)
		zts:显示(self.x+20,self.y+247+i*24,bd0[i+1])
	end
	for i=0,4 do --体质 到 敏捷
		self.资源组[31]:显示(self.x+197,self.y+244+i*24)
		zts:显示(self.x+163,self.y+247+i*24,bd[i+1])
	end
	zts:置颜色(-1404907)
	zts:显示(self.x+20,self.y+397,"忠诚")
	zts:显示(self.x+163,self.y+367,"潜能")
	zts:置颜色(-16777216)
	self.资源组[33]:显示(self.x+53,self.y+394)
	self.资源组[33]:显示(self.x+197,self.y+364)

	self.资源组[3]:显示(self.x+310,self.y+188,true)
	self.资源组[4]:显示(self.x+310,self.y+216,true)
	for i=5,9 do
		self.资源组[i]:显示(self.x+309,self.y+244+((i-5)*24))
	end
	for i=10,14 do
		self.资源组[i]:显示(self.x+330,self.y+244+((i-10)*24))
	end
	self.资源组[15]:显示(self.x+242,self.y+365,true)
	self.资源组[16]:显示(self.x+316,self.y+365,true)
	self.资源组[17]:显示(self.x+100,self.y+393,true)
	self.资源组[18]:显示(self.x+147,self.y+393,true)
	self.资源组[19]:显示(self.x+194,self.y+393,true)
	self.资源组[20]:显示(self.x+241,self.y+393,true)
	self.资源组[21]:显示(self.x+288,self.y+393,true)
	self.资源组[22]:显示(self.x+270,self.y+420,true)

	if bbsa > 4 then
		self.资源组[35]:置高度(min(floor(143/(bbsa-4)),32))
		self.加入 = min(ceil((bbsa-4)*self.资源组[35]:取百分比()),bbsa-4)
	end
	self.资源组[27]:更新(x,y,self.加入 > 0)
	self.资源组[28]:更新(x,y,self.加入 < bbsa - 4)
	self.资源组[27]:显示(self.x+172,self.y+29)
	self.资源组[28]:显示(self.x+172,self.y+198)
	if bbsa > 4 then
		self.资源组[35]:显示(self.x+172,self.y+43,x,y,self.鼠标)
	end

	for i=1,4 do
		if bbs[i+self.加入] ~= nil then
			local jx = self.x+18
			local jy = self.y+(i*43)-6
			bw:置坐标(jx,jy+1)
			if self.头像组[i+self.加入] == nil then
				local n = ModelData[bbs[i+self.加入].造型]
				self.头像组[i+self.加入] = tp.资源:载入(n.头像资源,"网易WDF动画",n.小头像)
			end
			-- 拽拖
			local xz = bw:检查点(x,y)
			if not self.资源组[35].接触 and xz and self.鼠标 and not tp.消息栏焦点 and self.拽拖对象 == 0 then
				if mousea(0) then
					self.拽拖计次 = self.拽拖计次 + 1
					if self.拽拖计次 >= 28 then
						self.拽拖对象 = i+self.加入
						self.拽拖事件 = {self.头像组[i+self.加入]}
						self.拽拖计次 = 0
					end
				end
			end
			-- 其他
			if self.选中 ~= i+self.加入 then
				if not self.资源组[35].接触 and xz and not tp.消息栏焦点 and self.鼠标 then
					if self.拽拖对象 ~= 0 then
						box(jx+70,jy+34,jx+125,jy+39,-16777216)
						self.插入选区 = i+self.加入
					end
					if mouseb(0) and self.拽拖对象 == 0 then

						self.选中 = i+self.加入
						self.名称输入框:置文本(bbs[self.选中].名称)
						self.名称输入框:置可视(true,true)
						self.鉴定=false
						if tp.窗口.召唤兽资质栏.可视 then
							tp.窗口.召唤兽资质栏:打开(bbs[self.选中])
						end
						self:置形象()
						self.拽拖计次 = 0
					end
					self.焦点 = true
				end
			else
				if not self.资源组[35].接触 and xz and not tp.消息栏焦点 and self.鼠标 then
					self.焦点 = true
				end
				if self.拽拖对象 ~= i+self.加入 then
					box(jx+40,jy+1,jx+152,jy+37,-10790181)
				end
			end
			if not self.资源组[35].接触 and xz and not tp.消息栏焦点 and self.鼠标 and mouseb(0) and 引擎.按键按住(0x10) then
				tp.窗口.聊天框类:添加数据(self.选中,bbs[self.选中].名称,2)
			end
			self.资源组[23]:显示(jx+1,jy)
			self.头像组[i+self.加入]:显示(jx+4,jy+4)
			if bbs[i+self.加入] ==bbs[bbs.参战] then --多宠物
				zts:置颜色(0xFFFF1493)
				参="(参战)"
			elseif bbs[i+self.加入] ==bbs[bbs.副宠参战[1]] then
				zts:置颜色(0xFFFF1493)
				参="(副一)"
			elseif bbs[i+self.加入] ==bbs[bbs.副宠参战[2]] then
				zts:置颜色(0xFFFF1493)
			    参="(副二)"
			elseif bbs[i+self.加入] ==bbs[bbs.副宠参战[3]] then
				zts:置颜色(0xFFFF1493)
			    参="(副三)"
			elseif bbs[i+self.加入] ==bbs[bbs.副宠参战[4]] then
				zts:置颜色(0xFFFF1493)
			    参="(副四)"
			elseif bbs[i+self.加入] ==bbs[bbs.副宠参战[5]] then
				zts:置颜色(0xFFFF1493)
			    参="(副五)"
			    			elseif bbs[i+self.加入] ==bbs[bbs.副宠参战[6]] then
				zts:置颜色(0xFFFF1493)
			    参="(副六)"
			    			elseif bbs[i+self.加入] ==bbs[bbs.副宠参战[7]] then
				zts:置颜色(0xFFFF1493)
			    参="(副七)"
			    			elseif bbs[i+self.加入] ==bbs[bbs.副宠参战[8]] then
				zts:置颜色(0xFFFF1493)
			    参="(副八)"
			    elseif bbs[i+self.加入] ==bbs[bbs.副宠参战[9]] then
				zts:置颜色(0xFFFF1493)
			    参="(副九)"
			else
				zts:置颜色(-16777216)
				参 = "("..bbs[i+self.加入].类型..")"
			end
			zts:显示(jx+41,jy+3,bbs[i+self.加入].名称..参)
			if bbs[i+self.加入].等级 then
			 zts:显示(jx+41,jy+21,bbs[i+self.加入].等级.."级")
			end
			if bbs[i+self.加入] ==bbs[bbs.参战] then
				self.资源组[40]:显示(jx+0,jy+3)
			end
			if bbs[i+self.加入] ==bbs[bbs.副宠参战[1]]then
				self.资源组[40]:显示(jx+0,jy+3)
    end
    if bbs[i+self.加入] ==bbs[bbs.副宠参战[2]]then
				self.资源组[40]:显示(jx+0,jy+3)
    end
    if bbs[i+self.加入] ==bbs[bbs.副宠参战[3]]then
				self.资源组[40]:显示(jx+0,jy+3)
    end
    if bbs[i+self.加入] ==bbs[bbs.副宠参战[4]]then
				self.资源组[40]:显示(jx+0,jy+3)
    end
    if bbs[i+self.加入] ==bbs[bbs.副宠参战[5]]then
				self.资源组[40]:显示(jx+0,jy+3)
    end
    if bbs[i+self.加入] ==bbs[bbs.副宠参战[6]]then
				self.资源组[40]:显示(jx+0,jy+3)
    end
    if bbs[i+self.加入] ==bbs[bbs.副宠参战[7]]then
				self.资源组[40]:显示(jx+0,jy+3)
    end
    if bbs[i+self.加入] ==bbs[bbs.副宠参战[8]]then
				self.资源组[40]:显示(jx+0,jy+3)
    end
    if bbs[i+self.加入] ==bbs[bbs.副宠参战[9]]then
				self.资源组[40]:显示(jx+0,jy+3)
    end
		end
	end
	if bb ~= nil then
		local jx = self.x + 280
		local jy = self.y + 145
		if self.重生光环~=nil then
			self.重生光环:更新(dt)
			self.重生光环:显示(jx,jy)
		end
		tp.影子:显示(jx,jy)
		self.资源组[24]:更新(dt)
		self.资源组[24]:显示(jx,jy)
		if self.资源组[25] ~= nil then
			self.资源组[25]:更新(dt)
			self.资源组[25]:显示(jx,jy)
		end
		-- 文字
		self.名称输入框:置坐标(self.x + 204,self.y + 220)
		self.控件类:更新(dt,x,y)
		self.控件类:显示(dt,x,y)
		if self.名称输入框._已碰撞 then
			self.焦点 = true
		end
		if bb.饰品 then
		self.圣兽丹动画:显示(self.x+200,self.y+155)
		end
		if bb.加锁 then
		tp.加锁图标1:显示(self.x+333,self.y+30)
		end
		if bb.年限~=nil then
		self.资源组[41]:显示(self.x+315,self.y+28)
		self.方正字体:显示(self.x+173+196/2-90+196/2-self.方正字体:取宽度(bb.年限.."年魂兽("..bb.重生..")")/2,self.y+157,bb.年限.."年魂兽("..bb.重生..")")
		if self.资源组[41]:是否选中(x,y) then
			if bb.年限加成显示~=nil then
			tp.提示:自定义(x+40,y,"#y/该召唤兽拥有"..bb.年限.."年魂环\n#y/每级全属性增加:#r/"..bb.年限加成显示.."\n#y/当前重生:#r/"..bb.重生.."\n#y/重生加成:#r/"..self:取重生加成(bb.重生))
                else
                tp.提示:自定义(x+40,y,"#y/请关闭界面重新刷新")

                end
		end
	end
     self.资源组[34]:显示(self.x+205,self.y+33)
     self.资源组[37]:显示(self.x+220,self.y+30)
		zts:置颜色(-16777216)
		zts:显示(self.x + 60,self.y + 247,format("%d/%d",bb.当前气血,bb.气血上限))
		if yl.气血 > 0 then
			zts:置颜色(-65536)
			zts:显示(self.x + 126,self.y + 246,"+"..yl.气血)
			zts:置颜色(-16777216)
		end
		zts:显示(self.x + 60,self.y + 271,format("%d/%d",bb.当前魔法,bb.魔法上限))
		if yl.魔法 > 0 then
			zts:置颜色(-65536)
			zts:显示(self.x + 126,self.y + 270,"+"..yl.魔法)
			zts:置颜色(-16777216)
		end
		zts:显示(self.x + 60,self.y + 295,bb.伤害)
		if yl.伤害 > 0 then
			zts:置颜色(-65536)
			zts:显示(self.x + 126,self.y + 295,"+"..yl.伤害)
			zts:置颜色(-16777216)
		end
		zts:显示(self.x + 60,self.y + 319,bb.防御)
		if yl.防御 > 0 then
			zts:置颜色(-65536)
			zts:显示(self.x + 126,self.y + 319,"+"..yl.防御)
			zts:置颜色(-16777216)
		end
		zts:显示(self.x + 60,self.y + 343,bb.速度)
		if yl.速度 > 0 then
			zts:置颜色(-65536)
			zts:显示(self.x + 126,self.y + 343,"+"..yl.速度)
			zts:置颜色(-16777216)
		end
		zts:显示(self.x + 60,self.y + 367,bb.灵力)
		if yl.灵力 > 0 then
			zts:置颜色(-65536)
			zts:显示(self.x + 126,self.y + 367,"+"..yl.灵力)
			zts:置颜色(-16777216)
		end
		zts:显示(self.x + 60,self.y + 397,math.floor(bb.忠诚))
		-- ls
		zts:显示(self.x + 204,self.y + 247,bb.体质)
		if ls.体质 > 0 then
			zts:置颜色(-65536)
			zts:显示(self.x + 204 + (#tostring(bb.体质)*7) + 1,self.y + 247,"+"..ls.体质)
			zts:置颜色(-16777216)
		end
		zts:显示(self.x + 204,self.y + 271,bb.魔力)
		if ls.魔力 > 0 then
			zts:置颜色(-65536)
			zts:显示(self.x + 204 + (#tostring(bb.魔力)*7) + 1,self.y + 271,"+"..ls.魔力)
			zts:置颜色(-16777216)
		end
		zts:显示(self.x + 204,self.y + 296,bb.力量)
		if ls.力量 > 0 then
			zts:置颜色(-65536)
			zts:显示(self.x + 204 + (#tostring(bb.力量)*7) + 1,self.y + 296,"+"..ls.力量)
			zts:置颜色(-16777216)
		end
		zts:显示(self.x + 204,self.y + 320,bb.耐力)
		if ls.耐力 > 0 then
			zts:置颜色(-65536)
			zts:显示(self.x + 204 + (#tostring(bb.耐力)*7) + 1,self.y + 320,"+"..ls.耐力)
			zts:置颜色(-16777216)
		end
		zts:显示(self.x + 204,self.y + 344,bb.敏捷)
		if ls.敏捷 > 0 then
			zts:置颜色(-65536)
			zts:显示(self.x + 204 + (#tostring(bb.敏捷)*7) + 1,self.y + 344,"+"..ls.敏捷)
			zts:置颜色(-16777216)
		end


  if self.数据[self.选中].进阶属性.力量 > 0 then
      zts:置颜色(0xFFFF00FF)
      zts:显示(self.x + 272,self.y + 223+3*24,"+"..self.数据[self.选中].进阶属性.力量)
      zts:置颜色(-16777216)
     end

      if self.数据[self.选中].进阶属性.敏捷 > 0 then
      zts:置颜色(0xFFFF00FF)
      zts:显示(self.x + 272,self.y + 223+5*24,"+"..self.数据[self.选中].进阶属性.敏捷)
      zts:置颜色(-16777216)
     end
          if self.数据[self.选中].进阶属性.耐力 > 0 then
      zts:置颜色(0xFFFF00FF)
      zts:显示(self.x + 272,self.y + 223+4*24,"+"..self.数据[self.选中].进阶属性.耐力)
      zts:置颜色(-16777216)
     end
          if self.数据[self.选中].进阶属性.体质 > 0 then
      zts:置颜色(0xFFFF00FF)
      zts:显示(self.x + 272,self.y + 223+1*24,"+"..self.数据[self.选中].进阶属性.体质)
      zts:置颜色(-16777216)
     end
          if self.数据[self.选中].进阶属性.魔力 > 0 then
      zts:置颜色(0xFFFF00FF)
      zts:显示(self.x + 272,self.y + 223+2*24,"+"..self.数据[self.选中].进阶属性.魔力)
      zts:置颜色(-16777216)
     end

		zts:显示(self.x + 200,self.y + 367,bb.潜能)
		self.资源组[26]:置区域(0,0,min(floor(bb.当前经验 / bb.升级经验 * 176),176),16)
		self.资源组[26]:显示(self.x + 60,self.y + 426)

		local ts = format("%d/%d",bb.当前经验,bb.升级经验)
		zts:显示(self.x + ((275 - zts:取宽度(ts))/2)+8,self.y + 426,ts)
	end
	if self.资源组[2]:事件判断() then
		self:打开()
		return false
	elseif self.资源组[3]:事件判断() then
		                                                            ----"主宠物参战", ---,"副宠九参战"
		 tp.窗口.对话栏:文本("宠物参战","宠物参战","请选择需要参战的宠物",{"主宠物参战","副宠一参战","副宠二参战","副宠三参战","副宠四参战","副宠五参战","副宠六参战","副宠七参战","副宠八参战"})--多宠物
	elseif self.资源组[4]:事件判断() then
       客户端:发送数据(self.选中,3,23,self.名称输入框:取文本(),1)
	elseif self.资源组[15]:事件判断() then
		if bb.魔力 > bb.力量 then
			ls.魔力=bb.潜能
			bb.潜能 = 0
		 else
		 	ls.力量=bb.潜能
			bb.潜能 = 0
		end
	elseif self.资源组[16]:事件判断() then
		self.预览属性[self.选中] = self:取差异属性(ls)

	elseif self.资源组[17]:事件判断() then
		客户端:发送数据(self.选中,7,23,"yx")
	elseif self.资源组[18]:事件判断() then
		local 事件 = function()
			self.临时潜能[self.选中] = {体质=0,魔力=0,力量=0,耐力=0,敏捷=0}
			self.预览属性[self.选中] = {气血=0,魔法=0,伤害=0,速度=0,灵力=0,防御=0}
			if bb == self.数据[self.数据.参战] then
				self.数据[self.数据.参战] = {}
			end
			if tp.窗口.道具行囊.可视 and tp.窗口.道具行囊.窗口 == "召唤兽" then
				if bb == self.数据[self.数据.参战] then
					tp.窗口.道具行囊.选中召唤兽 = 0
					tp.窗口.道具行囊.资源组[4] = nil
					for s=1,3 do
						tp.窗口.道具行囊.召唤兽装备[s]:置物品(nil)
					end
				end
			end

            客户端:发送数据(self.选中,1,23,"9B",1)
            self.选中 = 0
			 self.加入 = max(self.加入 - 1,0)
			self.名称输入框:置可视(false,false)
			if tp.窗口.召唤兽资质栏.可视 then
				tp.窗口.召唤兽资质栏:打开()
			end

			self:置形象()
		end
	    tp.窗口.文本栏:载入("#H/真的要放生"..bb.等级.."级的#R/"..bb.名称.."#H/吗?",nil,true,事件)
	elseif self.资源组[19]:事件判断() then
		客户端:发送数据(self.选中,8,23,"66")
	elseif self.资源组[20]:事件判断() then
		if self.鉴定  then
        self.鉴定 = false
        else
      	self.鉴定 = true
       end
	elseif self.资源组[21]:事件判断() then
		客户端:发送数据(self.选中,4,23,ls.力量.."*-*"..ls.体质.."*-*"..ls.魔力.."*-*"..ls.耐力.."*-*"..ls.敏捷,1)
		self.临时潜能[self.选中] = {体质=0,魔力=0,力量=0,耐力=0,敏捷=0}
		self.预览属性[self.选中] = {气血=0,魔法=0,伤害=0,速度=0,灵力=0,防御=0}
	elseif self.资源组[22]:事件判断() then
		tp.窗口.召唤兽资质栏:打开(self.数据[self.选中])
		tp.窗口.召唤兽资质栏.x = self.x + 370
		tp.窗口.召唤兽资质栏.y = self.y
	elseif self.资源组[27]:事件判断() then
		self.资源组[35]:置起始点(self.资源组[35]:取百分比转换(self.加入-1,4,bbsa))
		self.头像组 = {}
	elseif self.资源组[28]:事件判断() then
		self.资源组[35]:置起始点(self.资源组[35]:取百分比转换(self.加入+1,4,bbsa))
		self.头像组 = {}
	    elseif self.圣兽丹动画:是否选中(x,y) then
      tp.提示:自定义(x+40,y,"#y/该召唤兽拥有饰品可以提高#g/10%#y/的资质属性")
    elseif self.资源组[34]:事件判断() then --召唤兽染色
    	tp.窗口.召唤兽染色:打开(self.数据[self.选中],self.选中)
    elseif self.资源组[36]:事件判断() then 
			tp.窗口.文本栏:载入("#H/此次扩充召唤兽栏需要扣除 50W 银子,是否确认扩充","扩充召唤兽",true)
    elseif self.资源组[37]:事件判断() then --召唤兽染色
    	tp.窗口.召唤兽换造型:打开(self.数据[self.选中],self.选中)
	end

	if self.拽拖对象 ~= 0 then
		box(x-70,y-25,x+73,y+19,-849650981)
		self.资源组[23]:显示(x-67,y-22)
		self.拽拖事件[1]:显示(x-63,y-18)
		if bbs[self.拽拖对象].参战信息 ~= nil then
			zts:置颜色(-256)
		end
		zts:显示(x-27,y-19,bbs[self.拽拖对象].名称)
		zts:显示(x-27,y,bbs[self.拽拖对象].等级.."级")
		if mouseb(0) then
			if self.鼠标 then
				if self.插入选区 == 0 then
					self.拽拖计次 = 0
					self.拽拖对象 = 0
					self.拽拖事件 = 0
					self.插入选区 = 0
					tp.禁止关闭 = false
				else
					self:排列(self.拽拖对象,self.插入选区)
					self.拽拖计次 = 0
					self.拽拖对象 = 0
					self.拽拖事件 = 0
					self.插入选区 = 0
					tp.禁止关闭 = false
				end
			else
				self.拽拖计次 = 0
				self.拽拖对象 = 0
				self.拽拖事件 = 0
				self.插入选区 = 0
				tp.禁止关闭 = false
			end
		end
		tp.禁止关闭 = true
		self.焦点 = true
	end
	if self.资源组[35].接触 then
		self.焦点 = true
	end
end
function 场景类_召唤兽属性栏:发送参战数据(内容) --多宠物
	if 内容 == "主宠物参战" then
	客户端:发送数据(self.选中,2,23,"51",1)
	elseif 内容 == "副宠一参战" then
	客户端:发送数据(self.选中,10,23,"51",1)
	elseif 内容 == "副宠二参战" then
	客户端:发送数据(self.选中,11,23,"51",2)
	elseif 内容 == "副宠三参战" then
	客户端:发送数据(self.选中,12,23,"51",3)
	elseif 内容 == "副宠四参战" then
	客户端:发送数据(self.选中,13,23,"51",4)
		elseif 内容 == "副宠五参战" then
	客户端:发送数据(self.选中,14,23,"51",5)
			elseif 内容 == "副宠六参战" then
	客户端:发送数据(self.选中,15,23,"51",6)
			elseif 内容 == "副宠七参战" then
	客户端:发送数据(self.选中,16,23,"51",7)
			elseif 内容 == "副宠八参战" then
	客户端:发送数据(self.选中,17,23,"51",8)
elseif 内容 == "副宠九参战" then
	客户端:发送数据(self.选中,18,23,"51",9)
	end
end
function 场景类_召唤兽属性栏:取差异属性(sxb)
	local sx1 = self.数据[self.选中].气血上限
	local sx2 = self.数据[self.选中].魔法上限
	local sx3 = self.数据[self.选中].伤害
	local sx4 = self.数据[self.选中].防御
	local sx5 = self.数据[self.选中].速度
	local sx6 = self.数据[self.选中].灵力
	local 体质 = self.数据[self.选中].体质 + self.数据[self.选中].装备属性.体质 + sxb.体质
	local 魔力 = self.数据[self.选中].魔力 + self.数据[self.选中].装备属性.魔力 + sxb.魔力
	local 力量 = self.数据[self.选中].力量 + self.数据[self.选中].装备属性.力量 + sxb.力量
	local 耐力 = self.数据[self.选中].耐力 + self.数据[self.选中].装备属性.耐力 + sxb.耐力
	local 敏捷 = self.数据[self.选中].敏捷 + self.数据[self.选中].装备属性.敏捷 + sxb.敏捷
	local 伤害1=math.floor(self.数据[self.选中].等级*(self.数据[self.选中].攻资+self.数据[self.选中].特殊资质.攻资)*(14+10*self.数据[self.选中].成长)/7500+self.数据[self.选中].成长*(力量+self.数据[self.选中].进阶属性.力量)+20)+self.数据[self.选中].装备属性.伤害
	local 灵力1=math.floor(self.数据[self.选中].等级*(self.数据[self.选中].法资+self.数据[self.选中].特殊资质.法资+1640)*(self.数据[self.选中].成长+1)/7500+0.7*(魔力+self.数据[self.选中].进阶属性.魔力)+20+(力量+self.数据[self.选中].进阶属性.力量)*0.4+(耐力+self.数据[self.选中].进阶属性.耐力)*0.2+(体质+self.数据[self.选中].进阶属性.体质)*0.3)+self.数据[self.选中].装备属性.灵力
	local 防御1=math.floor(self.数据[self.选中].等级*(self.数据[self.选中].防资+self.数据[self.选中].特殊资质.防资)/433+self.数据[self.选中].成长*(耐力+self.数据[self.选中].进阶属性.耐力)*4/3)+self.数据[self.选中].装备属性.防御
	local 速度1=math.floor((敏捷+self.数据[self.选中].进阶属性.敏捷)*self.数据[self.选中].速资/1000)+self.数据[self.选中].装备属性.速度
	local 气血上限=math.floor(self.数据[self.选中].等级*(self.数据[self.选中].体资+self.数据[self.选中].特殊资质.体资)/1000+self.数据[self.选中].成长*(体质+self.数据[self.选中].进阶属性.体质)*6)+10+self.数据[self.选中].装备属性.气血
	local 最大魔法=math.floor(self.数据[self.选中].等级*(self.数据[self.选中].法资+self.数据[self.选中].特殊资质.法资)/2000+self.数据[self.选中].成长*(魔力+self.数据[self.选中].进阶属性.魔力)*2.5)+self.数据[self.选中].装备属性.魔法


	return {气血=气血上限-sx1,魔法=最大魔法-sx2,伤害=伤害1-sx3,防御=防御1-sx4,速度=速度1-sx5,灵力=灵力1-sx6}
end
function 场景类_召唤兽属性栏:排列(a,b)
	local bbx = self.数据
	local abs = bbx[a]
	local bbs = bbx[b]
	local aba = self.临时潜能[a]
	local bba = self.临时潜能[b]
	local abc = self.预览属性[a]
	local bbc = self.预览属性[b]
	bbx[a] = bbs
	self.临时潜能[a] = bba
	self.预览属性[a] = bbc
	bbx[b] = abs
	self.临时潜能[b] = aba
	self.预览属性[b] = abc
	if self.选中 ~= 0 then
		self.选中 = b
		self:置形象()
		self.名称输入框:置文本(bbx[self.选中].名称)
		self.名称输入框:置可视(true,true)
		if tp.窗口.召唤兽资质栏.可视 then
			tp.窗口.召唤兽资质栏:打开(bbx[self.选中])
		end
	end
	self.头像组 = {}
end



function 场景类_召唤兽属性栏:检查点(x,y)
	if self.资源组[1]:是否选中(x,y)  then
		return true
	end
end

function 场景类_召唤兽属性栏:初始移动(x,y)
	tp.运行时间 = tp.运行时间 + 1
	if not tp.消息栏焦点 then
  		self.窗口时间 = tp.运行时间
 	end
	if not self.焦点 then
		tp.移动窗口 = true
	end
	if self.鼠标 and  not self.焦点 then
		self.xx = x - self.x
		self.yy = y - self.y
	end
end

function 场景类_召唤兽属性栏:开始移动(x,y)
	if self.鼠标 then
		self.x = x - self.xx
		self.y = y - self.yy
	end
end
function 场景类_召唤兽属性栏:取重生加成(重生)
	local 临时名称="无"
	if 重生==1 then
		临时名称="增加20%伤害结果"
	elseif 重生==2 then
		临时名称="增加40%伤害结果"
	elseif 重生==3 then
		临时名称="增加60%伤害结果"
	elseif 重生==4 then
		临时名称="增加80%伤害结果"
	elseif 重生==5 then
		临时名称="增加100%伤害结果"
	elseif 重生==6 then
		临时名称="增加120%伤害结果"
	elseif 重生==7 then
		临时名称="增加140%伤害结果"
	elseif 重生==8 then
		临时名称="增加160%伤害结果"
	elseif 重生==9 then
		临时名称="增加180%伤害结果"
	elseif 重生==10 then
		临时名称="增加200%伤害结果"
	end
return 临时名称
end
return 场景类_召唤兽属性栏